using System;
using System.Collections.Generic;
using System.Text;
using BusinessEntity;
using System.Data.Common;
using System.Data;
using System.Data.SqlClient;


namespace BusinessLogic
{
    public class crFichaInscripcion : CrBase
    {
        
        #region GetNombrePersonas
        public DataSet GetPersona(int fichaIncripcionID)
        {

            DataSet ds = new DataSet();
            try
            {

                string sql = "SELECT	dbo.TB_SOC_ESI_Persona.nombres + ' ' +  dbo.TB_SOC_ESI_Persona.apellidoPaterno +  '' +  dbo.TB_SOC_ESI_Persona.apellidoMaterno  " +
                              " FROM	dbo.TB_SOC_ESI_Persona IN NER JOIN " +
                              "dbo.TB_SOC_ESI_Titular ON dbo.TB_SOC_ESI_Persona.TB_SOC_ESI_Persona_ID = dbo.TB_SOC_ESI_Titular.TB_SOC_ESI_Persona_ID INNER JOIN " +
                              "dbo.TB_SOC_ESI_Ficha_Inscripcion ON dbo.TB_SOC_ESI_Titular.TB_SOC_ESI_Ficha_Inscripcion_ID = dbo.TB_SOC_ESI_Ficha_Inscripcion.TB_SOC_ESI_Ficha_Inscripcion_ID " +
                              "WHERE INICIALES='" + fichaIncripcionID + "'";
                ds = objDBSQLClub.ExecuteDataSet(CommandType.Text, sql);
            }
            catch
            {
                //grabarlo en ocurrencias
                ds.Tables.Add();
            }
            return ds;
        }

        public DataSet GetNombrePersonaSocio()
        {

            DataSet ds = new DataSet();
            try
            {

                string sql = "SELECT TB_SOC_ESI_Titular.TB_SOC_ESI_Titular_ID AS ID,dbo.TB_SOC_ESI_Persona.nombres + ' ' +  dbo.TB_SOC_ESI_Persona.apellidoPaterno +  ' ' +  dbo.TB_SOC_ESI_Persona.apellidoMaterno AS Nombre " +
                              "FROM dbo.TB_SOC_ESI_Persona INNER JOIN " +
                              "dbo.TB_SOC_ESI_Titular ON dbo.TB_SOC_ESI_Persona.TB_SOC_ESI_Persona_ID = dbo.TB_SOC_ESI_Titular.TB_SOC_ESI_Persona_ID INNER JOIN " +
                              "dbo.TB_SOC_ESI_Ficha_Inscripcion ON dbo.TB_SOC_ESI_Titular.TB_SOC_ESI_Ficha_Inscripcion_ID = dbo.TB_SOC_ESI_Ficha_Inscripcion.TB_SOC_ESI_Ficha_Inscripcion_ID " +
                              "WHERE dbo.TB_SOC_ESI_Ficha_Inscripcion.aprobacion=1";
                        
                ds = objDBSQLClub.ExecuteDataSet(CommandType.Text, sql);
            }
            catch
            {
                //grabarlo en ocurrencias
                ds.Tables.Add();
            }
            return ds;
        }
        #endregion

        #region GetFichasIncripcion
        public DataSet GetFichasIncripcion()
        {

            DataSet ds = new DataSet();
            try
            {

                string sql = "sp_TB_SOC_ESI_FichaIncripcion_SelectAll ";
                ds = objDBSQLClub.ExecuteDataSet(CommandType.Text, sql);
            }
            catch
            {
                //grabarlo en ocurrencias
                ds.Tables.Add();
            }
            return ds;
        }
        #endregion

        #region GetDatosFichaIncripcion
        public CCFichaInscripcion GetDatosFichaIncripcion(int fichaIncripcionID)
        {
            CCFichaInscripcion objFichaInscripcionBE = new CCFichaInscripcion();
            DataSet ds = new DataSet();
            try
            {
                ds = objDBSQLClub.ExecuteDataSet("sp_TB_SOC_ESI_FichaIncripcion_SelectByPrimaryKey", fichaIncripcionID);
                
                
                objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
                objFichaInscripcionBE.codFicha = Convert.ToInt32(ds.Tables[0].Rows[0][1].ToString());
                objFichaInscripcionBE.fechaInscripcion = ds.Tables[0].Rows[0][2].ToString();
                objFichaInscripcionBE.casaPropia = Convert.ToByte(ds.Tables[0].Rows[0][3].ToString());
                objFichaInscripcionBE.carroPropio = Convert.ToByte(ds.Tables[0].Rows[0][4].ToString());
                objFichaInscripcionBE.documentacionCompleta = ds.Tables[0].Rows[0][5].ToString();
                objFichaInscripcionBE.lugarCobranza = ds.Tables[0].Rows[0][6].ToString();
                objFichaInscripcionBE.Revisado = Convert.ToInt32("0"+ds.Tables[0].Rows[0][7].ToString());
                objFichaInscripcionBE.fechaRevision = ds.Tables[0].Rows[0][8].ToString();
                objFichaInscripcionBE.usuarioRevisor = Convert.ToInt32(ds.Tables[0].Rows[0][9].ToString());
                objFichaInscripcionBE.observacionRevision = ds.Tables[0].Rows[0][10].ToString();
                objFichaInscripcionBE.Evaluacion = Convert.ToByte(ds.Tables[0].Rows[0][11].ToString());
                objFichaInscripcionBE.fechaEvaluacion = ds.Tables[0].Rows[0][12].ToString();
                objFichaInscripcionBE.usuarioEvaluador = Convert.ToInt32(ds.Tables[0].Rows[0][13].ToString());
                objFichaInscripcionBE.observacionEvaluacion = ds.Tables[0].Rows[0][14].ToString();
                objFichaInscripcionBE.Aprobacion = Convert.ToInt32(ds.Tables[0].Rows[0][15].ToString());
                objFichaInscripcionBE.fechaAprobacion = ds.Tables[0].Rows[0][16].ToString();
                objFichaInscripcionBE.usuarioAprobador = Convert.ToInt32(ds.Tables[0].Rows[0][17].ToString());
                objFichaInscripcionBE.observacionAprobacion = ds.Tables[0].Rows[0][18].ToString();
                objFichaInscripcionBE.TB_SOC_ESI_Titular_ID = Convert.ToInt32(ds.Tables[0].Rows[0][19].ToString());
                objFichaInscripcionBE.codMembresia = ds.Tables[0].Rows[0][20].ToString();
                objFichaInscripcionBE.tipoPersona = ds.Tables[0].Rows[0][21].ToString();
                objFichaInscripcionBE.fechaInscripcionTitular = ds.Tables[0].Rows[0][22].ToString();
                objFichaInscripcionBE.cumpleRequisitoVitalicio = Convert.ToByte(ds.Tables[0].Rows[0][23].ToString());
                objFichaInscripcionBE.estadoCivil = Convert.ToByte(ds.Tables[0].Rows[0][24].ToString());
                objFichaInscripcionBE.telefonoCasa = ds.Tables[0].Rows[0][25].ToString();
                objFichaInscripcionBE.telefonoCelular = ds.Tables[0].Rows[0][26].ToString();
                objFichaInscripcionBE.Direccion = ds.Tables[0].Rows[0][27].ToString();
                objFichaInscripcionBE.Email = ds.Tables[0].Rows[0][28].ToString();
                objFichaInscripcionBE.Apelativo = ds.Tables[0].Rows[0][29].ToString();
                objFichaInscripcionBE.Nacionalidad = ds.Tables[0].Rows[0][30].ToString();
                objFichaInscripcionBE.paisNacimiento = ds.Tables[0].Rows[0][31].ToString();
                objFichaInscripcionBE.envioCorrespondencia = ds.Tables[0].Rows[0][32].ToString();
                objFichaInscripcionBE.rutaFoto = ds.Tables[0].Rows[0][33].ToString();
                objFichaInscripcionBE.TB_SOC_ESI_EstadoSocio_ID = Convert.ToInt32(ds.Tables[0].Rows[0][34].ToString());
                objFichaInscripcionBE.TB_SOC_ESI_Carrera_ID = Convert.ToInt32(ds.Tables[0].Rows[0][35].ToString());
                objFichaInscripcionBE.TB_SOC_ESI_Ubigeo_ID = Convert.ToInt32(ds.Tables[0].Rows[0][36].ToString());
                objFichaInscripcionBE.TB_SOC_ESI_Persona_ID = Convert.ToInt32(ds.Tables[0].Rows[0][37].ToString());
                objFichaInscripcionBE.codPersona = Convert.ToInt32(ds.Tables[0].Rows[0][38].ToString());
                objFichaInscripcionBE.Nombres = ds.Tables[0].Rows[0][39].ToString();
                objFichaInscripcionBE.apellidoPaterno = ds.Tables[0].Rows[0][40].ToString();
                objFichaInscripcionBE.apellidoMaterno = ds.Tables[0].Rows[0][41].ToString();
                objFichaInscripcionBE.fechaNacimiento = ds.Tables[0].Rows[0][42].ToString();
                objFichaInscripcionBE.tipoDocumento = ds.Tables[0].Rows[0][43].ToString();
                objFichaInscripcionBE.nroDocumento = ds.Tables[0].Rows[0][44].ToString();
                objFichaInscripcionBE.Sexo = ds.Tables[0].Rows[0][45].ToString();
                objFichaInscripcionBE.estadoPersona = ds.Tables[0].Rows[0][46].ToString();
                objFichaInscripcionBE.IngresoMensual = Convert.ToInt32(ds.Tables[0].Rows[0][47].ToString());
                objFichaInscripcionBE.Referido1 = Convert.ToInt32(ds.Tables[0].Rows[0][48].ToString());
                objFichaInscripcionBE.Referido2 = Convert.ToInt32(ds.Tables[0].Rows[0][49].ToString());

              


            }
            catch
            {
                //grabarlo en ocurrencias
                ds.Tables.Add();
             

            }
           
            
            return objFichaInscripcionBE;
        }
        #endregion

        #region GrabarFichaInscripcion

        public bool GrabarFichaInscripcion(CCFichaInscripcion objFichaInscripcionBE)
        {
            int result = 0;
            try
            {

                result = objDBSQLClub.ExecuteNonQuery("sp_TB_SOC_ESI_FichaIncripcion_Grabar",
                                    objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID,
	                                objFichaInscripcionBE.codFicha ,
		                            objFichaInscripcionBE.fechaInscripcion ,
		                            objFichaInscripcionBE.casaPropia,
		                            objFichaInscripcionBE.carroPropio ,
		                            objFichaInscripcionBE.documentacionCompleta,
		                            objFichaInscripcionBE.lugarCobranza ,
		                            objFichaInscripcionBE.Revisado ,
		                            objFichaInscripcionBE.fechaRevision ,
		                            objFichaInscripcionBE.usuarioRevisor ,
		                            objFichaInscripcionBE.observacionRevision ,
		                            objFichaInscripcionBE.Evaluacion ,
		                            objFichaInscripcionBE.fechaEvaluacion ,
		                            objFichaInscripcionBE.usuarioEvaluador,
		                            objFichaInscripcionBE.observacionEvaluacion ,
		                            objFichaInscripcionBE.Aprobacion ,
		                            objFichaInscripcionBE.fechaAprobacion ,
		                            objFichaInscripcionBE.usuarioAprobador,
		                            objFichaInscripcionBE.observacionAprobacion ,
		                            objFichaInscripcionBE.TB_SOC_ESI_Titular_ID,
		                            objFichaInscripcionBE.codMembresia ,
		                            objFichaInscripcionBE.tipoPersona ,
		                            objFichaInscripcionBE.fechaInscripcionTitular,
		                            objFichaInscripcionBE.cumpleRequisitoVitalicio,
		                            objFichaInscripcionBE.estadoCivil,
		                            objFichaInscripcionBE.telefonoCasa,
		                            objFichaInscripcionBE.telefonoCelular ,
		                            objFichaInscripcionBE.Direccion,
		                            objFichaInscripcionBE.Email ,
		                            objFichaInscripcionBE.Apelativo ,
		                            objFichaInscripcionBE.Nacionalidad ,
		                            objFichaInscripcionBE.paisNacimiento,
		                            objFichaInscripcionBE.envioCorrespondencia ,
		                            objFichaInscripcionBE.rutaFoto,
		                            objFichaInscripcionBE.TB_SOC_ESI_EstadoSocio_ID,
		                            objFichaInscripcionBE.TB_SOC_ESI_Carrera_ID,
		                            objFichaInscripcionBE.TB_SOC_ESI_Ubigeo_ID,
		                            objFichaInscripcionBE.TB_SOC_ESI_Persona_ID,
		                            objFichaInscripcionBE.codPersona ,
		                            objFichaInscripcionBE.Nombres ,
		                            objFichaInscripcionBE.apellidoPaterno,
		                            objFichaInscripcionBE.apellidoMaterno ,
		                            objFichaInscripcionBE.fechaNacimiento ,
		                            objFichaInscripcionBE.tipoDocumento ,
		                            objFichaInscripcionBE.nroDocumento,
		                            objFichaInscripcionBE.Sexo ,
		                            objFichaInscripcionBE.estadoPersona ,
		                            objFichaInscripcionBE.IngresoMensual );

                result = GrabarReferidos(objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID, objFichaInscripcionBE.Referido1, objFichaInscripcionBE.Referido2);

                result = 1;

            }
            catch
            {
                result = 0;
            }
            return (result > 0);
        }

        

        #endregion

        #region GrabarEnvioDeFicha

        public bool GrabarEnvioDeFicha(int FichaInscripcionID)
        {
            int result = 0;
            try
            {

                result = objDBSQLClub.ExecuteNonQuery("sp_GrabarFichaEnviada",FichaInscripcionID);
                result = 1;

            }
            catch
            {
                result = 0;
            }
            return (result > 0);
        }



        #endregion

        #region Referidos
         public int GrabarReferidos(int TB_SOC_ESI_Ficha_Inscripcion_ID, int Referido1, int Referido2)
        {
            int result = 0;
            try
            {

                result = objDBSQLClub.ExecuteNonQuery("sp_GrabarReferidos",
                    TB_SOC_ESI_Ficha_Inscripcion_ID, Referido1, Referido2);
                 result = 1;

            }
            catch
            {
                result = 0;
            }
            return (result);
        }
      

        #endregion

        #region Foto
        public int GrabarRutaFoto(int TitularID,String RutaFoto )
        {
            int result = 0;
            try
            {

                result = objDBSQLClub.ExecuteNonQuery("sp_GrabarFotoTitular",
                    TitularID, RutaFoto);
                result = 1;

            }
            catch
            {
                result = 0;
            }
            return (result);
        }


        #endregion

        #region GrabarEvaluacion
        public bool GrabarEvaluacion(int Estado, CCFichaInscripcion objFichaInscripcionBE)
        {
            Boolean result = false;
            String sSql = "";
            try
            {
                switch (Estado)
                {
                    case 1:
                        sSql = "EXEC sp_TB_SOC_ESI_FichaIncripcion_Evaluacion_Grabar '"
                            + Estado + "', '"
                            + objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID + "', '"
                            + objFichaInscripcionBE.fechaRevision + "', '"
                            + objFichaInscripcionBE.usuarioRevisor + "', '"
                            + objFichaInscripcionBE.observacionRevision + "'";
                        break;
                    case 2:
                        sSql = "EXEC sp_TB_SOC_ESI_FichaIncripcion_Evaluacion_Grabar '"
                            + Estado + "', '"
                            + objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID + "', '"
                            + objFichaInscripcionBE.fechaEvaluacion + "', '"
                            + objFichaInscripcionBE.usuarioEvaluador + "', '"
                            + objFichaInscripcionBE.observacionEvaluacion + "'";
                        break;
                    case 3:
                        sSql = "EXEC sp_TB_SOC_ESI_FichaIncripcion_Evaluacion_Grabar '"
                            + Estado + "', '"
                            + objFichaInscripcionBE.TB_SOC_ESI_Ficha_Inscripcion_ID + "', '"
                            + objFichaInscripcionBE.fechaAprobacion + "', '"
                            + objFichaInscripcionBE.usuarioAprobador + "', '"
                            + objFichaInscripcionBE.observacionAprobacion + "'";
                        break;
                }
                objDBSQLClub.ExecuteNonQuery(CommandType.Text, sSql);
                result = true;
            }
            catch (InvalidCastException e)
            {
                result = false;
                throw (e);
            }
            return result;
        }
        #endregion

    }
}
